3.6.3 ハザードの回避
命令間で適切にステップ数を空けなければならない場合がある。
その原因には、書き込みが完了するまで読み出しを待たなければならないことに起因するデータ競合と、アドレス信号線などのハードウェア資源の解放を待たなければならないことに起因するポート衝突の 2 種類がある。
データ競合の場合は同じアドレスの読み書きでなければ起きないが、ポート衝突の場合はアドレス値に依存しない。
以下では命令の組み合わせごとに必要なステップ数を述べる。
以下で述べる条件はすべてアセンブラによってチェックされ、違反していればエラーとなる。
3.6.3.1 L1BM→L2BM転送⇒L2BMを読み出すMV命令
3.6.3.2 L1BM→L2BM転送⇒L2BM→L1BM転送
3.6.3.3 L2BM→L1BM転送⇒L1BM→L2BM転送/内部マルチキャスト
3.6.3.4 内部マルチキャスト⇒L1BM→L2BM転送/内部マルチキャスト
3.6.3.5 内部マルチキャスト⇒L1BM→PE転送
3.6.3.6 L2BM→L1BM転送⇒L1BM→PE転送
3.6.3.7 PE→L1BM転送⇒L1BM→L2BM転送/内部マルチキャスト
3.6.3.8 PE→L1BM転送⇒L1BM→PE転送
3.6.3.9 PEメモリ書き込み⇒PEメモリ読み出し